Communication apparatus, communication method, and program

ABSTRACT

A communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus is provided. The communication apparatus includes a key generation means configured to, when media communication is performed between the communication apparatus and another communication apparatus, request the key information distribution apparatus to provide common key generation information for generating a first common key, a call control means configured to establish a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus, and a communication means configured to transmit and receive an encrypted media packet by using a second common key, wherein the key generation means generates the first common key by using the common key generation information received from the key information distribution apparatus, and after the first common key is generated, the communication means transmits and receives an encrypted media packet by using the first common key.

TECHNICAL FIELD

The present invention relates to a secret communication technology that performs communication by transmitting and receiving encrypted packets.

BACKGROUND ART

A technology that uses Internet Protocol (IP) to enable voice communication by transmitting/receiving voice packets is widely used. An IP network such as the Internet where voice packets are transmitted and received may be subject to eavesdropping through interception of voice packets. In order to protect against such eavesdropping, a technology that transmits and receives encrypted voice packets is known.

For example, a technology is known that uses a key exchange scheme such as SDP Security Descriptions for Media Streams (SDES) disclosed in Non-Patent Document 3 to exchange keys between terminals, such that encrypted communication can be performed by using, for example, a SRTP (Non-Patent Document 2) or an ESP (Non-Patent Document 5). The keys obtained by key exchange are used until communication ends.

RELATED-ART DOCUMENTS Patent Documents

-   [PATENT DOCUMENT 1] Japanese Patent No. 5612494 -   [PATENT DOCUMENT 2] Japanese Patent No. 5253567 -   [PATENT DOCUMENT 3] Japanese Patent No. 5334873 -   [PATENT DOCUMENT 4] Japanese Patent No. 5349261 -   [PATENT DOCUMENT 5] Japanese Patent No. 5424974 -   [PATENT DOCUMENT 6] Japanese Patent No. 5769401 -   [PATENT DOCUMENT 7] Japanese Patent No. 5852551 -   [PATENT DOCUMENT 8] Japanese Patent No. 5852594 -   [PATENT DOCUMENT 9] Japanese Patent No. 6067596 -   [PATENT DOCUMENT 10] Japanese Laid-Open Publication No. 2016-213543 -   [PATENT DOCUMENT 11] Japanese Laid-Open Publication No. 2016-134826

Non-Patent Documents

-   [NON-PATENT DOCUMENT 1] “A Secure Business Chat System that Prevents     Leakage and Eavesdropping from the Server by Advanced Encryption     Technology,” NTT Technical Review, 2017 February -   [NON-PATENT DOCUMENT 2] SRTP, https://tools.ietf.org/html/rfc3711,     searched on Sep. 21, 2017 -   [NON-PATENT DOCUMENT 3] Security Descriptions for Media Streams,     https://tools.ietf.org/html/rfc4568, searched on Sep. 21, 2017 -   [NON-PATENT DOCUMENT 4] ZRTP, https://tools.ietf.org/html/rfc6189,     searched on Sep. 21, 2017 -   [NON-PATENT DOCUMENT 5] IP Encapsulating Security Payload (ESP),     https://www.ietf.org/rfc/rfc2406.txt, searched on Sep. 21, 2017 -   [NON-PATENT DOCUMENT 6] Internet Key Exchange Protocol Version 2     (IKEv2), https://tools.ietf.org/html/rfc5996, searched on Sep. 21,     2017

SUMMARY OF THE INVENTION Problem to be Solved by the Invention

In the above-described key exchange scheme such as SDES, although encrypted communication can be promptly started, keys are sent over a communication path during key exchange and are used until the communication ends. Accordingly, there is a possibility that keys may be illegally obtained for eavesdropping, and thus the communication is not secure.

With a key exchange scheme that uses ZRTP (Non-Patent Document 4) or IKE (Non-Patent Document 5), it is possible to perform encrypted communication without sending keys over a communication path. However, it takes time to complete key exchange, thus causing a delay in starting encrypted communication. In a case where communication is immediately started, the communication until encrypted communication starts is not secure.

The above-described problems may occur not only in voice communication, but also in any other media communication such as video communication and data communication.

The present invention is made in view of the above-described points, and an object of the present invention is to provide a technology that enables secure media communication between terminals.

Means to Solve the Problem

According to a technology disclosed herein, a communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus is provided. The communication apparatus includes a key generation means configured to, when media communication is performed between the communication apparatus and another communication apparatus, request the key information distribution apparatus to provide common key generation information for generating a first common key, a call control means configured to establish a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus, and a communication means configured to transmit and receive an encrypted media packet by using a second common key, wherein the key generation means generates the first common key by using the common key generation information received from the key information distribution apparatus, and after the first common key is generated, the communication means transmits and receives an encrypted media packet by using the first common key.

Effects of the Invention

According to a technology disclosed herein, it is possible to provide a technology that enables secure media communication between terminals.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a configuration example of a communication system according to an embodiment of the present invention;

FIG. 2 is a diagram illustrating a functional configuration of a SIP server 100;

FIG. 3 is a diagram illustrating a functional configuration of a key server 200;

FIG. 4 is a diagram illustrating a functional configuration of a TA 300;

FIG. 5 is a diagram illustrating a functional configuration of a terminal 400;

FIG. 6 is a diagram illustrating a hardware configuration of an apparatus;

FIG. 7 is a sequence diagram illustrating an operation example of the communication system;

FIG. 8 is a sequence diagram illustrating an operation example of the communication system;

FIG. 9 is a diagram illustrating an operation example of communication control performed by the SIP server 100; and

FIG. 10 is a diagram illustrating an example of a table retained by a data storage unit of the SIP server 100.

MODE FOR CARRYING OUT THE INVENTION

In the following, embodiment(s) of the present invention will be described with reference to the accompanying drawings. The embodiments described below are merely examples, and embodiments to which the present invention is applied are not limited to the following embodiments. For example, in the following embodiments, voice communication is described as an example of media communication; however, the present invention may be applied to any other media communication such as video communication and data communication (such as a chat).

In the embodiments, a multicast key sharing technology disclosed in Patent Documents 1 through 11 and Non-Patent Document 1 is used. The technology according to the embodiments allows multiple terminals to share a common key via a key server (a key server 200 described later). The common key is generated by each terminal performing a secret calculation by using common key generation information (more specifically, random numbers) distributed from the key server to each of the terminals. Such information will not be sent over a network, thus preventing other general terminals from generating the common key. Thus, by using the technology according to the embodiments, voice communication can be performed more securely than the conventional technologies described in Background Art.

It is noted that the multicast key sharing technology itself that generates a common key by using common key generation information is a known technology. However, the technology disclosed herein is a new technology that performs voice communication by combining the multicast key sharing technology with, for example, a SIP server, which will be described later.

Further, in the embodiments, as an example of a scheme that does not send keys over a communication path, the multicast key sharing technology disclosed in Patent Documents 1 through 11 and Non-Patent Document 1 is used. However, any technology other than the multicast key sharing technology may be used as a scheme that does not send keys over a communication path. For example, ZRTP or IKE may be used. Even in the case of a technology (such as ZRTP or IKE) other than the multicast key sharing technology, each terminal can use common key generation information received from the key server 200 and generate a common key to be used to encrypt voice communication.

The embodiments will be described in detail below.

(System Configuration)

FIG. 1 illustrates a configuration example of a communication system according to an embodiment of present invention. As illustrated in FIG. 1, the communication system includes a session initiation protocol (SIP) server 100, the key server 200, a terminal adapter (TA) 300, and terminals 400A and 400B, which are connected to a network 500. It is noted that the TA 300 is an example of a terminal. Also, the TA 300 and the terminals 400A and 400B may be collectively referred to as a communication apparatus.

The SIP server 100 is an apparatus that establishes a call connection between terminals by transmitting/receiving a SIP message. The SIP is a call control protocol.

The key server 200 is an apparatus that controls distribution of common key generation information used for the above-described multicast key sharing technology.

The TA 300 is an apparatus connected to a terminal (such as a commonly used IP telephone) that does not have a secret communication function and that is connected by the TA 300. The TA 300 enables secret communication by performing an encryption process and a decryption process in place of the terminal. In the example illustrated in FIG. 1, a telephone 10, a PC 20, and a GW 30 are connected by the TA 300. For example, the telephone 10 is a commonly used IP telephone. The PC 30 is a computer having a softphone installed as an application. The GW 30 is, for example, a PRI or a FXS. Under control of the GW 30, a telephone and a PBX are connected, for example.

For example, the terminals 400A and 400B are telephone terminals such as smartphones. The terminals 400A and 400B each have the secret communication function according to the present embodiment. It is noted that the terminal 400A and the terminal 400B are, if not distinguished, referred to as “terminals 400”.

The network 500 is a network consisting of one or more of a plurality of networks such as a mobile network (such as 3G or LTE), the Internet, a landline network, and a private network.

Next, functional configurations of the SIP server 100, the key server 200, the TA 300, and the terminals 400, and operational overviews of units will be described. In the following, only the operational overviews are described, and details are described later with reference to sequences.

FIG. 2 is a diagram illustrating a functional configuration of the SIP server 100. As illustrated in FIG. 2, the SIP server 100 includes a call control unit 101 and a data storage unit 102. The call control unit 101 generates and transmits/receives a call control message such as an INVITE message. Also, the call control unit 101 includes a function for replying to an inquiry from the TA 300, as will be described later. For example, the data storage unit 103 stores, for each telephone number of a terminal, information on functions (such as secret communication) available to the terminal.

FIG. 3 is a diagram illustrating a functional configuration of the key server 200. As illustrated in FIG. 3, the key server 200 includes a distribution control unit 201 and a data storage unit 202. The distribution control unit 201 distributes common key generation information to the terminals 400 and/or the TA 300. Also, the distribution control unit 201 distributes updated common key generation information based on the status of each session stored in the data storage unit 202. The data storage unit 202 stores status information for each session related to key generation.

FIG. 4 is a diagram illustrating a functional configuration of the TA 300. As illustrated in FIG. 4, the TA 300 includes a media communication unit 301, a call control unit 302, a key generation control unit 303, and an encryption/decryption processing unit 304. The media communication unit 301 may be referred to as a transmitting/receiving device. The media communication unit 301 transmits/receives a media packet (a voice packet in the present embodiment). The call control unit 302 transmits/receives a call control message. The key generation control unit 303 generates a common key based on common key generation information received from the key server 200, by using the multicast key sharing technology. Further, the key generation control unit 303 can generate a common key based on a scheme existing prior to the multicast key sharing technology. As used herein, an existing scheme means any conventional common key scheme other than the multicast key sharing technology.

The encryption/decryption processing unit 304 encrypts a voice packet and decrypts an encrypted voice packet, by using a common key generated by the key generation control unit 303.

FIG. 5 is a diagram illustrating a functional configuration of each of the terminals 400. As illustrated in FIG. 5, the terminals 400 each include a media communication unit 401, a call control unit 402, a key generation control unit 403, an encryption/decryption processing unit 404, and a display operation unit 405. The media communication unit 401 may be referred to as a transmitting/receiving device.

The media communication unit 401 transmits/receives media data (a voice packet in the present embodiment). The call control unit 402 generates and transmits/receives a call control message. The key generation control unit 403 generates a common key based on common key generation information received from the key server 200, by using the multicast key sharing technology. Further, the key generation control unit 403 can generate a common key based on the existing scheme.

The encryption/decryption processing unit 404 encrypts a voice packet and decrypts an encrypted voice packet, by using a common key generated by the key generation control unit 403.

The display operation unit 405 displays information and also receives information input by a user. The display operation unit 405 may be implemented by, for example, a touch panel.

The above-described apparatuses (the SIP server 100, the key server 200, the TA 300, and the terminals 400) may each be implemented by causing a computer to execute a program that describes processes described in the present embodiment. Namely, the functions of each of the above-described apparatuses may be implemented by executing a program corresponding to processes performed in each of the apparatuses, by using hardware resources such as a CPU and a memory included in the computer. The program can be recorded in a computer-readable recording medium (such as a portable memory), such that the program can be saved and distributed. Also, the program can be provided via a network such as the Internet and electronic mail.

FIG. 6 is a diagram illustrating a hardware configuration of one apparatus of the above-described apparatuses. The apparatus illustrated in FIG. 6 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, and an input device 1007, which are connected to each other via a bus B. It is noted that the display device 1006 and the input device 1007 are not necessarily included in the SIP server 100, the key server 200, and the TA 300.

A program that implements processes in the apparatus of FIG. 6 is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed in the auxiliary storage device 1002 from the recording medium 1001 via the drive device 1000. However, the program is not necessarily installed from the recording medium 1001, and may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program, and also stores necessary files and data.

In response to an instruction to start a program, the memory device 1003 reads the program from the auxiliary storage device 1002 and stores the program. The CPU 1004 implements functions of the apparatus in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network. The display device 1006 displays a graphical user interface (GUI) provided by a program. The input device 1007 includes a keyboard and a mouse, buttons, or a touch panel, and is used to input various operation instructions.

Operation Example 1 of Communication System

Next, an operation example 1 of the communication system according to the embodiment will be described with reference to a sequence diagram illustrated in FIG. 7. In the operation example 1, secret voice communication is performed between the terminal 400A and the terminal 400B. In the following description, the functional units of the apparatuses described in FIG. 2 through FIG. 5 are used as appropriate. Also, in the following description, the functional units of the terminal 400A are described as a media communication unit 401A, a call control unit 402A, a key generation control unit 403A, an encryption/decryption processing unit 404A, and a display operation unit 405A. The functional units of the terminal 400B are described as a media communication unit 401B, a call control unit 402B, a key generation control unit 403B, an encryption/decryption processing unit 404B, and a display operation unit 405B.

First, when a user of the terminal 400A performs an operation for making a phone call by, for example, inputting a telephone number of the terminal 400B on the terminal 400A, the key generation control unit 403A of the terminal 400A transmits, to the key server 200, a message for starting a key generation session, and as a result, the key generation session is started (step S101). The message includes an ID for identifying the key generation session. The ID included in the message is denoted as ID-S. The message is also a message requesting distribution of common key generation information.

Next, the call control unit 402A of the terminal 400A transmits an INVITE message, corresponding to a request for a call connection, to the terminal 400B (S102). The INVITE message includes Key1. The Key1 is a common key based on the existing scheme (a common key used for encryption and decryption). The encryption/decryption processing unit 404A of the terminal 400A retains the Key1 and uses the Key1 to encrypt a voice packet, and the media communication unit 401A transmits the encrypted voice packet. Also, the ID-S indicated to the key server 200 in S101 may be included in the INVITE message transmitted in S102.

In the present embodiment, as described above, it is assumed that the common key itself is transmitted with the INVITE message; however, this is merely an example. For example, Key1 and Key2 may be components for generating common keys, and the terminal 400A and the terminal 400B may each generate same common keys from the Key1 and the Key2.

It takes some time after the key server 200 receives the message including the ID-S from the terminal 400A, until common key generation information is distributed. Therefore, in the present embodiment, in order to promptly start secret communication, common keys based on the existing scheme are used until common keys based on common key generation information are generated.

The SIP server 100 receives the INVITE message transmitted from the terminal 400A, and transmits the INVITE message to the terminal 400B (S103). In the terminal 400B, which has received the INVITE message, the key generation control unit 403B transmits, to the key server 200, a message requesting common key generation information based on the multicast key sharing technology (S104). The message includes the same ID-S used in S101.

Also, the encryption/decryption processing unit 404B of the terminal 400B stores, in the memory, the Key1 included in the received INVITE message. The Key1 is used to decrypt an encrypted voice packet to be received from the terminal 400A. In a case where Key1 and Key2 are components for generating common keys, the encryption/decryption processing unit 404B of the terminal 400B generates common keys from the Key1 and the Key2, and retains the common keys for use for encryption and decryption.

The terminal 400B transmits a 180 Ringing message, and the terminal 400A receives the 180 Ringing message (S105, S106).

Subsequently, when a user of the terminal 400B performs an operation for accepting the phone call, the call control unit 402B transmits a 200 OK message (S107). The 200 OK message includes a Key2. The Key2 is a common key used by the encryption/decryption processing unit 404B of the terminal 400B to encrypt a voice packet.

The terminal 400A receives the 200 OK message (S108). The encryption/decryption processing unit 404A of the terminal 400A retains the Key2 included in the 200 OK message. The Key2 is used to decrypt an encrypted voice packet to be received from the terminal 400B. In a case where Key1 and Key2 are components for generating common keys, the encryption/decryption processing unit 404A of the terminal 400A generates common keys from the Key1 and the Key2, and retains the common keys for use for encryption and decryption.

After the terminal 400A receives the 200 OK message, secret voice communication using the Key1 and the Key2 is started between the media communication unit 401A of the terminal 400A and the media communication unit 401B of the terminal 400B (S109).

Subsequently, the distribution control unit 201 of the key server 200 transmits, to each of the terminal 400A and the terminal 400B, common key generation information (SecretKey-1) of the key generation session identified by the ID-S indicated in S101 (S110, S111).

The key generation control unit 403A of the terminal 400A, which has received the common key generation information (SecretKey-1), generates a common key (SecretKey-1′) to be used to encrypt/decrypt a voice packet (S112). Similarly, the key generation control unit 403B of the terminal 400B, which has received the common key generation information (SecretKey-1), generates a common key (SecretKey-1′) to be used to encrypt/decrypt a voice packet (S113).

Further, the key generation control unit 403A of the terminal 400A transmits, to the key server 200, a key generation completion message indicating that generation of the common key (SecretKey-1′) has been completed (S114). Similarly, the key generation control unit 403B of the terminal 400B transmits, to the key server 200, a key generation completion message indicating that generation of the common key (SecretKey-1′) has been completed (S115).

Upon detecting reception of the key generation completion messages from both the terminal 400A and the terminal 400B, which join the same key generation session identified by the ID-S, the distribution control unit 201 of the key server 200 transmits, to each of the terminal 400A and the terminal 400B, a key generation completion message indicating that key generation has been completed in both the terminal 400A and the terminal 400B, which join the same key generation session identified by the ID-S (S116, S117).

In the terminal 400A, which has received the key generation completion message in S116, since generation of the common key has completed at the other end of the session (namely, in the terminal 400B), the key generation control unit 403A determines that encrypted communication is possible, and instructs the encryption/decryption processing unit 404A to switch the common keys from Key1/Key2 to the common key (SecretKey-1′). Similarly, in the terminal 400B, which has received the key generation completion message in S117, since generation of the common key has completed at the other end of the session (namely, in the terminal 400A), the key generation control unit 403B determines that encrypted communication is possible, and instructs the encryption/decryption processing unit 404B to switch the common keys from the Key1/Key2 to the common key (SecretKey-1′).

As a result of switching the keys described above, secret voice communication using the common keys (SecretKey-1′) is performed in S118. More specifically, the encryption/decryption processing unit 404A of the terminal 400A uses the common key (SecretKey-1′) to encrypt a voice packet to be transmitted, and uses the common key (SecretKey-1′) to decrypt an encrypted voice packet received. Similarly, the encryption/decryption processing unit 404B of the terminal 400B uses the common key (SecretKey-1′) to encrypt a voice packet to be transmitted, and uses the common key (SecretKey-1′) to decrypt an encrypted voice packet received.

For example, the key server 200 transmits updated common key generation information to each of the terminals 400 at predetermined time intervals, and each of the terminals 400 generates an updated common key.

For example, the data storage unit 202 of the key server 200 stores, on a per-key-generation-session basis, status information including a time at which common key generation information is transmitted, a time at which key generation is determined to be completed (such as a time at which a key generation completion message is transmitted to all terminals joining a session), and a time at which an update is made.

As an example, the distribution control unit 201 of the key server 200 refers to status information of the data storage unit 202, and distributes updated common key generation information to each of the terminals 400 when a predetermined period of time T has elapsed from a time at which key generation is determined to be completed.

In the example illustrated in FIG. 7, when the distribution control unit 201 of the key server 200 detects that the predetermined period of time T has elapsed from times at which S116 and S117 are performed (which are considered to be the same time, for convenience), and the distribution control unit 201 transmits updated common key generation information “SecretKey-2” to the terminal 400A and the terminal 400B (S119, S120). Common key generation information is updated repeatedly at time T intervals. Thus, in order to express repeated updates, “SecretKey-n” is used in FIG. 7. In the following description, “SecretKey-n” is used.

The key generation control unit 403A of the terminal 400A, which has received the common key generation information (SecretKey-n), generates a common key (SecretKey-n′) to be used to encrypt and decrypt a voice packet (S121). Similarly, the key generation control unit 403B of the terminal 400B, which has received the common key generation information (SecretKey-n), generates a common key (SecretKey-n′) to be used to encrypt and decrypt a voice packet (S122).

Further, the key generation control unit 403A of the terminal 400A transmits, to the key server 200, a key generation completion message indicating that generation of the common key (SecretKey-n′) has been completed (S123). Similarly, the key generation control unit 403B of the terminal 400B transmits, to the key server 200, a key generation completion message indicating that generation of the common key (SecretKey-n′) has been completed (S124).

Upon detecting reception of the key generation completion messages from both the terminal 400A and the terminal 400B, which join the same key generation session identified by the ID-S, the distribution control unit 201 of the key server 200 transmits, to each of the terminal 400A and the terminal 400B, a key generation completion message indicating that key generation has been completed in both the terminal 400A and the terminal 400B, which join the same key generation session identified by the ID-S (S125, S126).

In the terminal 400A, which has received the key generation completion message in S125, since generation of the common key has completed in the terminal 400B, the key generation control unit 403A determines that encrypted communication is possible, and instructs the encryption/decryption processing unit 404A to switch the common keys from the common key (SecretKey-(n−1)′) to the common key (SecretKey-n′). Similarly, in the terminal 400B, which has received the key generation completion message in S126, since generation of the common key has completed in the terminal 400A, the key generation control unit 403B determines that encrypted communication is possible, and instructs the encryption/decryption processing unit 404B to switch the common keys from the common key (SecretKey-(n−1)′) to the common key (SecretKey-n′) As a result of switching the keys described above, secret voice communication using the common keys (SecretKey-n′) is performed in S127.

The above sequence is merely an example. For example, regardless of whether a key generation completion message is received from the key server 200, each of the terminals 400 may switch to updated common key when a predetermined period of time has elapsed after generation of the updated common key. This approach can also be applied when common keys based on the existing scheme are switched to a common key based on the multicast key sharing technology. This approach can also be applied to the TA 300.

Subsequently, when the user of the terminal 400A performs an operation for ending the phone call, a BYE message is transmitted (S128, S129), and the terminal 400B returns a 200 OK message (S130, S131). Further, each of the terminal 400A and the terminal 400B transmits, to the key server 200, a message releasing the key generation session (S132, S133).

In the above-described process, if assuming that the key server 200 failed after distribution of common key generation information (SecretKey-1′), updated common key generation information would not be transmitted.

In light of the above, in the present embodiment, similarly to the key server 200, the key generation control unit 403A of the terminal 400A measures an elapsed time from a time at which key generation is completed. For example, in a case where updated common key generation information is not received after the predetermined period of time T has elapsed from a time at which key generation is completed, the key generation control unit 403A of the terminal 400A instructs the encryption/decryption processing unit 404A to continue to use the current common key (SecretKey-1 in this example). In accordance with the instruction, the encryption/decryption processing unit 404A continues to use the current common key. Alternatively, in a case where updated common key generation information is not received after the predetermined period of time T has elapsed from a time at which key generation is completed, the key generation control unit 403A of the terminal 400A may instruct the encryption/decryption processing unit 404A to switch from the current common key to the common key (Key1/Key2) based on the existing scheme. The same applies to the terminal 400B.

Further, each of the terminals 400 may cause the display operation unit 405 to display information whether voice communication is secret communication. For example, when the encryption/decryption processing unit 404 encrypts/decrypts a voice packet by using a common key, the encryption/decryption processing unit 404 indicates such information to the display operation unit 405, and the display operation unit 405 displays information indicating that secret communication is performed. Also, for example, when the encryption/decryption processing unit 404 does not encrypt/decrypt a voice packet by using a common key, the encryption/decryption processing unit 404 indicates such information to the display operation unit 405, and the display operation unit 405 displays information indicating that secret communication is not performed.

Also, when the encryption/decryption processing unit 404 encrypts/decrypts a voice packet by using a common key, the encryption/decryption processing unit 404 indicates the type of a common key (such as a common key based on the existing scheme or a common key based on the multicast key sharing technology) to the display operation unit 405. Then, the display operation unit 405 may display information indicating that secret communication is performed and also indicating the type of encryption (such as the existing scheme or the multicast key sharing technology).

Also, in each of the terminals 400, for example, after a destination telephone number is input by a user, the call control unit 402 may cause the display operation unit 405 to display information allowing the user to select whether to perform secret communication or to perform ordinary communication that does not ensure secrecy, and in accordance with the user's selection, the call control unit 402 may determine whether the secret communication is performed or the ordinary communication that does not ensure secrecy is performed.

Operation Example 2 of Communication System

Next, an operation example 2 of the communication system according to the embodiment will be described with reference to a sequence diagram illustrated in FIG. 8. In the operation example 2, secret voice communication is performed between the terminal 400B and the telephone 10 (a commonly used IP telephone) connected by the TA 300. The telephone does not have a secret communication function. Thus, the TA 300 encrypts and decrypts voice packets in place of the telephone 10. Voice packets transmitted/received between the TA 300 and the telephone 10 are not encrypted. However, in a normal situation, the TA 300 and the telephone 10 are connected via a private network such as a LAN inside an office, and data does not pass through a public network such as the Internet. Because high secrecy can be provided, a problem does not particularly occur.

A process sequence between the TA 300 and the terminal 400B is basically the same as the process sequence between the terminal 400A and the terminal 400B. In the following, a process sequence between the TA 300 and the telephone 10 will be mainly described.

When a user of the telephone 10 performs an operation for making a phone call by, for example, inputting a telephone number of the terminal 400B on the telephone 10, the telephone 10 transmits an INVITE message (step S201).

In the TA 300, which has received the INVITE message, the key generation control unit 303 transmits, to the key server 200, a message requesting common key generation information (S101). After S102 through S106 are performed, the TA 300 transfers a 180 Ringing message received in S106 to the telephone 10 (S202). Also, the TA 300 excludes Key2 from a 200 OK message received in S108, and transmits the 200 OK message to the telephone 10 (S203).

Subsequently, voice communication is performed between the telephone 10 and the terminal 400B (S204, S108). To be more specific, the encryption/decryption processing unit 304 of the TA 300 uses a common key based on the existing scheme to encrypt a voice packet received from the telephone 10, and the media communication unit 301 transmits the encrypted voice packet to the terminal 400B. Also, the encryption/decryption processing unit 304 of the TA 300 uses the common key based on the existing scheme to decrypt an encrypted voice packet received from the terminal 400B, and the media communication unit 301 transmits the decrypted voice packet to the telephone 10.

Subsequently, as described above with reference to FIG. 7, common keys used for secret communication between the TA 300 and the terminal 400B are updated. However, the telephone 10 is not aware of any update, and continues to transmit/receive normal voice packets (S205, S206). Subsequently, the voice communication ends (S207, S208).

In the above-described process, if assuming that the key server 200 failed after distribution of common key generation information (SecretKey-1′), updated common key generation information would not be transmitted.

In light of the above, in the present embodiment, similarly to the key server 200, the key generation control unit 303 of the TA 300 measures an elapsed time from a time at which key generation is completed. For example, in a case where updated common key generation information is not received after the predetermined period of time T has elapsed from a time at which key generation is completed, the key generation control unit 303 of the TA 300 instructs the encryption/decryption processing unit 304 to continue to use the current common key (SecretKey-1 in this example). In accordance with the instruction, the encryption/decryption processing unit 304 continues to use the current common key. Alternatively, in a case where updated common key generation information is not received after the predetermined period of time T has elapsed from a time at which key generation is completed, the key generation control unit 303 of the TA 300 may determine that the common key based on the existing scheme is used, and may instruct the encryption/decryption processing unit 304 to switch from the current common key to the common key based on the existing scheme. The same applies to the terminal 400B.

Further, TA 300 may indicate, to the telephone 10, information whether voice communication is secret communication, and may cause the telephone 10 to display the information. For example, when the encryption/decryption processing unit 304 encrypts/decrypts a voice packet by using a common key, the encryption/decryption processing unit 304 indicates such information to the telephone 10, and the telephone 10 displays information indicating that secret communication is performed. Also, for example, when the encryption/decryption processing unit 304 does not encrypt/decrypt a voice packet by using a common key, the encryption/decryption processing unit 304 may indicate such information to the telephone 10, and the telephone 10 may display information indicating that secret communication is not performed.

Also, when the encryption/decryption processing unit 303 encrypts/decrypts a voice packet by using a common key, the encryption/decryption processing unit 304 indicates the type of a common key (such as a common key based on the existing scheme or a common key based on the multicast key sharing technology) to the telephone 10. Then, the telephone 10 may display information indicating that secret communication is performed and also indicating the type of encryption (such as the existing scheme or the multicast key sharing technology).

(Example of Communication Control Performed by SIP Server 100)

Next, an example of communication control performed by the SIP server 100 will be described with reference to FIG. 9.

In this example, a user of the telephone 10 is not aware whether a terminal of a voice communication partner can perform secret communication. In this case, if the telephone 10 makes a call connection to a terminal that is not able to perform secret communication, such a call connection is restricted. Details will be described below.

As illustrated in FIG. 9, the telephone 10 transmits an INVITE message that includes, as a destination, a telephone number of a communication partner (S301). In the TA 300, which has received the INVITE message, the call control unit 302 transmits, to the SIP server 100, an inquiry message that includes the destination telephone number included in the INVITE message (S302).

As illustrated in FIG. 10, for example, the data storage unit 102 of the SIP server stores a table that associates a telephone number with a function supported by a terminal having the telephone number.

Referring back to FIG. 9, the call control unit 101 of the SIP server 100, which has received the inquiry message including the destination telephone number in S302, searches the table illustrated in FIG. 10 based on the destination telephone number, and determines whether the terminal with the destination telephone number has the secret communication function (S303).

Then, the call control unit 101 of the SIP server 100 returns a reply message indicating a determination result to the TA 300 (S304). When the reply message indicates that “secret communication function is available”, the process as of S101 illustrated in FIG. 8 is performed, and secret communication is performed.

When the reply message indicates that “secret communication function is unavailable”, the call control unit 302 of the TA 300 indicates, to the telephone 10, a message indicating that communication with the terminal having the telephone number is not possible, and the telephone 10 displays the message. In this case, the call connection process is not continued.

Alternatively, when the reply message indicates that “secret communication function is unavailable”, the call control unit 302 of the TA 300 may indicate, to the telephone 10, a message indicating that communication with the terminal having the telephone number is not secret communication, and may continue the call connection process without ensuring secrecy. The telephone 10 displays the message indicating that communication is not secret communication. This allows the user of the telephone 10 to perform voice communication while being aware that the communication is not secret communication.

For example, in communication between terminals that do not use the TA 300, when the call control unit 101 of the SIP server 100 determines that a designation terminal with a telephone number does not have the secret communication function by referring to the table retained by the data storage unit 102, the call control unit 101 may stop the call connection process and cause the destination terminal not to receive the call.

Further, the terminals 400 may each have a similar function as the above-described inquiry function of the TA 300. For example, in the process illustrated in FIG. 7, before S101 is performed, the call control unit 402A of the terminal 400A transmits, to the SIP server 100, an inquiry message including a destination telephone number input by a user, and receives a reply message indicating a determination result from the SIP server 100. When the reply message indicates that “secret communication function is available”, the process as of S101 is performed, and secret communication is performed.

For example, when the reply message indicates that “secret communication function is unavailable”, the call control unit 402 of the terminal 400A displays a message indicating that communication with a terminal having the input telephone number is not possible, and stops the call connection process. Alternatively, when the reply message indicates that “secret communication function is unavailable”, the call control unit 402A of the terminal 400A may display a message indicating that communication with a terminal having the input telephone number is not secret communication, and may continue the call connection process without ensuring secrecy. The user who has viewed the message can perform voice communication while being aware that the communication is not secret communication.

Further, when the SIP server 100 detects that secret communication is performed between terminals, the SIP server 100 may prohibit the use of various types of transfer functions. This prevents another user from performing voice communication by impersonation. For example, in the example of FIG. 7, when the SIP server 100, which has received an INVITE message in S102, detects that both a source telephone number and a destination telephone number have the secret communication function by referring to information stored in the data storage unit 102, the SIP server 100 determines that a call to be established by the INVITE message is secret communication. Subsequently, for example, even if the call control unit 101 of the SIP server 100 receives, from the terminal 400B having received the INVITE message, an instruction to transfer the call established by the INVITE message to a terminal other than the terminal 400B, the call control unit 101 does not follow the instruction and does not transfer the call. In this case, the call control unit 101 may continue the call connection process illustrated in FIG. 7 or may stop the call connection process.

Summary of Embodiments

As described above, according to the embodiments, first, encrypted communication is started by using common keys based on the existing scheme, while generating common keys based on a scheme (such as the multicast key sharing scheme, ZRTP, or IKE) that does not send keys over a communication path. After generation is completed, the common keys based on the existing scheme are switched to the common keys based on the scheme such as the multicast key sharing scheme. Accordingly, secure communication can be promptly started.

According to the embodiments, a communication apparatus, a communication method, and a program described in the following are provided.

(Clause 1)

A communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus is provided. The communication apparatus includes a key generation means configured to, when media communication is performed between the communication apparatus and another communication apparatus, request the key information distribution apparatus to provide common key generation information for generating a first common key, a call control means configured to establish a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus, and a communication means configured to transmit and receive an encrypted media packet by using a second common key, wherein the key generation means generates the first common key by using the common key generation information received from the key information distribution apparatus, and after the first common key is generated, the communication means transmits and receives an encrypted media packet by using the first common key.

(Clause 2)

The communication apparatus according to clause 1, wherein, in a case where updated common key generation information is received from the key information distribution apparatus, the key generation means generates an updated first common key by using the updated common key generation information, and the communication means transmits and receives an encrypted media packet by using the updated first common key.

(Clause 3)

The communication apparatus according to clause 2, wherein, in a case where the updated common key generation information is not received from the key information distribution apparatus after the key generation means generates the first common key by using the common key generation information and a predetermined period of time elapses, the communication means encrypts a media packet by using the first common key or the second common key.

(Clause 4)

The communication apparatus according to any one of clauses 1 to 3, wherein the call control means transmits, to the call control apparatus, an inquiry message that includes a telephone number of said another communication apparatus, and executes a process for establishing the call connection in response to reception of reply information indicating that said another communication apparatus has a secret communication function.

(Clause 5)

The communication apparatus according to any one of clauses 1 to 4, wherein the communication means encrypts a media packet received from a terminal that does not have the secret communication function so as to transmit the encrypted media packet to said another communication apparatus, and decrypts an encrypted media packet received from said another communication apparatus so as to transmit the decrypted media packet to the terminal that does not have the secret communication function.

(Clause 6)

A communication method performed by a communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus is provided. The method includes a step of, when media communication is performed between the communication apparatus and another communication apparatus, requesting the key information distribution apparatus to provide common key generation information for generating a first common key, a step of establishing a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus, and a step of transmitting and receiving an encrypted media packet by using a second common key, and a step of, after generating the first common key by using the common key generation information received from the key information distribution apparatus, transmitting and receiving an encrypted media packet by using the first common key.

(Clause 7)

A program for causing a computer to function as the means included in the communication apparatus according to any one of clauses 1 to 5.

The SIP server 100 and the key server 200 are examples of the call control apparatus and the key information distribution apparatus, respectively. The key generation control units 303 and 403 are each an example of the key generation means. The call control units 302 and 402 are each an example of the call control means. The media communication units 301 and 401 and the encryption/decryption processing units 304 and 404 are each an example of the communication means.

Although the embodiments have been specifically described above, the present invention is not limited to the above-described embodiments, and various variations and modifications may be made without departing from the scope of the claims.

The present application is based on and claims priority to Japanese patent application No. 2017-183990 filed on Sep. 25, 2017, with the Japanese Patent Office, the entire contents of which are hereby incorporated by reference.

DESCRIPTION OF THE REFERENCE NUMERALS

-   100 SIP server -   200 key server -   300 TA -   400 terminal -   500 network -   101 call control unit -   102 data storage unit -   201 distribution control unit -   202 data storage unit -   301 media communication unit -   302 call control unit -   303 key generation control unit -   304 encryption/decryption processing unit -   401 media communication unit -   402 call control unit -   403 key generation control unit -   404 encryption/decryption processing unit -   405 display operation unit -   1000 drive device -   1001 recording medium -   1002 auxiliary storage device -   1003 memory device -   1004 CPU -   1005 interface device -   1006 display device -   1007 input device 

1: A communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus, the communication apparatus comprising: a key generation means configured to, when media communication is performed between the communication apparatus and another communication apparatus, request the key information distribution apparatus to provide common key generation information for generating a first common key; a call control means configured to establish a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus; and a communication means configured to transmit and receive an encrypted media packet by using the first common key or a second common key, the second common key being a common key generated by key exchange between the communication apparatuses; wherein the key generation means generates the first common key by using the common key generation information received from the key information distribution apparatus, and the communication means starts transmitting and receiving an encrypted media packet by using the second common key, and after the first common key is generated, switches the keys so as to transmit and receive an encrypted media packet by using the first common key. 2: The communication apparatus according to claim 1, wherein, in a case where updated common key generation information is received from the key information distribution apparatus, the key generation means generates an updated first common key by using the updated common key generation information, and the communication means transmits and receives an encrypted media packet by using the updated first common key. 3: The communication apparatus according to claim 2, wherein, in a case where the updated common key generation information is not received from the key information distribution apparatus after the key generation means generates the first common key by using the common key generation information and a predetermined period of time elapses, the communication means encrypts a media packet by using the first common key or the second common key, the predetermined period of time being a time interval at which the common key generation information is updated. 4: The communication apparatus according to claim 1, wherein the call control means transmits, to the call control apparatus, an inquiry message that includes a telephone number of said another communication apparatus, and executes a process for establishing the call connection in response to reception of reply information indicating that said another communication apparatus has a secret communication function. 5: The communication apparatus according to claim 1, wherein the communication means encrypts a media packet received from a terminal that does not have the secret communication function so as to transmit the encrypted media packet to said another communication apparatus, and decrypts an encrypted media packet received from said another communication apparatus so as to transmit the decrypted media packet to the terminal that does not have the secret communication function. 6: A communication method performed by a communication apparatus for use in a communication system including a call control apparatus and a key information distribution apparatus, the method comprising: a step of, when media communication is performed between the communication apparatus and another communication apparatus, requesting the key information distribution apparatus to provide common key generation information for generating a first common key; a step of establishing a call connection between the communication apparatus and said another communication apparatus by transmitting a call connection request to the call control apparatus; a step of transmitting and receiving an encrypted media packet by using a second common key, the second common key being a common key generated by key exchange between the communication apparatuses; and a step of, after starting the transmitting and receiving of the encrypted media packet by using the second common key and generating the first common key by using the common key generation information received from the key information distribution apparatus, switching the keys so as to transmit and receive an encrypted media packet by using the first common key. 7: A non-transitory recording medium storing a program for causing a computer to function as the means included in the communication apparatus according to any one of claims 1 to
 5. 